package cn.tedu._05mvcboot01.controller;

import cn.tedu._05mvcboot01.pojo.dto.WeiChatDTO;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;

@Controller
public class UserController {
    /**
     * 1.RequestMapping:根据请求的URL地址的路径，匹配对应的控制器方法；
     * 2.ResponseBody：允许控制器方法返回以返回值[return]的形式返回给客户端数据；
     * http://localhost:8080/v1/users/login
     * http://localhost:8080v1/users/login
     *                      第一个斜杠可以不写
     */
    //                            v1:版本号
    @RequestMapping(value = "/v1/users/login")
    @ResponseBody
    public String login(){
        return "<h1>恭喜你，登陆成功</h1>";
    }

    /**
     * 客户端传递给服务端数据：
     * http://localhost:8080/v1/users/reg?username=xxx&password=yyy
     * 服务端接收数据方式1：HttpServletRequest参数接收
     */
    @RequestMapping(value = "/v1/users/reg")
    @ResponseBody
    public String reg(HttpServletRequest request){
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        return username+":"+password;
    }
    /**
     * 修改密码功能
     * 地址：/v1/users/changepwd
     * 查询参数：username newpwd
     * 返回响应：username-newpwd
     *
     */
    @RequestMapping(value = "/v1/users/changepwd")
    @ResponseBody
    public String changepwd(String username,String newpwd){
        return username+"-"+newpwd;
    }

    /**
     * DTO类方式接收
     * 1.功能：第三登录功能
     *  1.1 请求url地址/v1/users/weichat
     *  1.2 查询参数：？name=微信号&pwd=密码
     *  1.3 返回响应：微信号：密码
     *  http://localhost:8080/v1/users/weiChat?name=xxx&pwd=yyy
     */
    @RequestMapping(value = "v1/users/weiChat")
    @ResponseBody
    public String weiChat(WeiChatDTO weiChatDTO){
        return weiChatDTO.getName()+":"+weiChatDTO.getPwd();
    }
}
